<?php

namespace App\Models;


class AdminUser extends BaseModel
{
  /**
   * 与模型关联的数据表。
   *
   * @var string
   */
  protected $table = 'admin_user';

  /**
   * 可以被批量赋值的属性。
   *
   * @var array
   */
  protected $fillable = array(
    'username',
    'userpass',
    'role_id',
    'realname',
    'logopath',
    'qrcodepath',
    'telphone',
    'dept_str',
    'balance',
    'credit',
    'agent_id',
    'agent_name',
    'login_ip',
    'login_fail_num',
    'status',
    'source',
  );

  /**
   * 查询数据需要过滤掉的属性。
   *
   * @var array
   */

  protected $hidden = array(
    'updated_at'
  );
  //返回关键字段
  public function getTableField()
  {
    return $this->fillable;
  }
  /**
   * 建表语句
   */
  protected function buildTable($name='')
  {
      $tablename = $this->table;
      if(!empty($name)){
        $tablename = $name;
      }
    $table  = "CREATE TABLE IF NOT EXISTS  $tablename (
      `id` int(11) NOT NULL AUTO_INCREMENT,
      `username` varchar(40) DEFAULT NULL COMMENT '账号',
      `userpass` varchar(100) DEFAULT NULL COMMENT '密码',
      `passsalt` varchar(100) DEFAULT NULL COMMENT '密码盐',
      `role_id` int(11) DEFAULT 0 COMMENT '角色',
      `realname` varchar(30) DEFAULT NULL COMMENT '昵称',
      `logopath` varchar(100) DEFAULT NULL COMMENT '用户头像地址',
      `qrcodepath` varchar(150) DEFAULT '#' COMMENT '用户二维码',
      `telphone` varchar(20) DEFAULT NULL COMMENT '手机',
      `dept_str` varchar(500) DEFAULT '1.' COMMENT '代理级串',
      `balance` decimal(12,4) DEFAULT '0.0000' COMMENT '账户余额',
      `credit` int(11) DEFAULT '0' COMMENT '信用',
      `agent_id` int(11) DEFAULT '0' COMMENT '代理ID',
      `agent_name` varchar(30) DEFAULT NULL COMMENT '代理名称',
      `login_ip` varchar(32) DEFAULT NULL COMMENT '最后登录地址',
      `login_fail_num` int(11) DEFAULT '0' COMMENT '失败登录次数',
      `status` int(11) DEFAULT '1' COMMENT '状态 1正常 0停用',
      `source` varchar(255) DEFAULT NULL COMMENT '用户来源',
      `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
      `updated_at` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='用户表';";
    return $table;
  }
  /**
   * 插入新的字段
   */
  protected function bulidField()
  {
    //例子
    // $array = ['name' => "varchar(1000) DEFAULT NULL COMMENT 'token'"];
    // return $array;
  }
  //密码生成
  public function passwd($passwd)
  {
    $nums = mt_rand(10000000, 99999999);
    return [
      'passwd' => md5(md5($passwd) . $nums),
      'salt' => $nums
    ];
  }
  //密码验证
  public function verifyPasswd($passwd, $numd)
  {
    return md5(md5($passwd) . $numd);
  }
}
